/**
 * 公共配置文件
 */
const NODE_ENV = process.env.NODE_ENV

const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')

module.exports = {
  mode: NODE_ENV,
  // development 模式下加 html 是为了配合热更新
  // 取消 html 入口，改为 index.js 单入口
  entry: './src/js/index.js',
  output: {
    filename:
      NODE_ENV === 'development'
        ? 'js/[name].[hash:10].js'
        : 'js/[name].[contenthash:10].js',
    path: path.join(__dirname, 'dist'),
    // html-loader 连带配置，配置文件编译公共路径 (webpack5 需要配置这个)
    // publicPath: './',
    chunkFilename:
      NODE_ENV === 'development'
        ? 'js/[name].[hash:10]_chunk.js'
        : 'js/[name].[contenthash:10].js',
  },

  plugins: [
    // 配置文件路径，可根据需要修改所需路径
    new CopyWebpackPlugin({
      patterns: [
        {
          from: path.join(__dirname, './src/config'),
          to: 'config',
          globOptions: {
            ignore: ['.*'],
          },
        },
      ],
    }),
  ],
}
